Content and context aware regional cooling optimization for refrigerators

ABSTRACT

A refrigerator-implemented method for optimizing placement of food items in different compartments of a refrigerator, according to one embodiment, includes: receiving a request to store a first type of food item in the refrigerator, determining, using detection hardware, each type of food item already stored in one or more of the compartments of the refrigerator, comparing a characteristic of the first type of food item with a same type of characteristic for each type of food item already stored in the one or more of the compartments of the refrigerator, selecting a first of the compartments in which to store the first type of food item based at least in part on the comparison, and outputting, using an output device, a recommendation to store the first type of food item in the first compartment. Other systems, methods, and computer program products are described in additional embodiments.

BACKGROUND

The present invention relates to refrigeration, and more specifically,this invention relates to automatic content and/or context awarerefrigeration.

A refrigerator is a popular household appliance which includes athermally insulated compartment and mechanical components which are ableto cool an interior of the insulated compartment to a temperature belowan ambient temperature of the room in which the refrigerator is located.In other words, refrigerators are able to provide a confined space inwhich the temperature is controllable in a range below a temperatureexterior the confined space. Refrigeration has served as an improvementin food storage as lower temperatures slows the reproduction rate ofbacteria, thereby reducing the rate of spoilage.

Conventional refrigerators typically include one large compartment inwhich various items (e.g., food) may be stored and cooled. However, aresult of having one large compartment is that everything placed thereinis subjected to the same temperature. In many cases, having a singlecompartment set to hold a certain temperature is desirable and serves asan effective way to cool various items. However, different foods have awide range of “ideal” temperatures at which they are stored, andtherefore conventional refrigerators lack efficiency in maintaining theoverall longevity of the various food items that may be stored therein.

SUMMARY

A refrigerator-implemented method for optimizing placement of food itemsin different compartments of a refrigerator, according to oneembodiment, includes: receiving a request to store a first type of fooditem in the refrigerator, determining, using detection hardware, eachtype of food item already stored in one or more of the compartments ofthe refrigerator, comparing a characteristic of the first type of fooditem with a same type of characteristic for each type of food itemalready stored in the one or more of the compartments of therefrigerator, selecting a first of the compartments in which to storethe first type of food item based at least in part on the comparison,and outputting, using an output device, a recommendation to store thefirst type of food item in the first compartment.

A computer program product for optimizing placement of food items indifferent compartments of a refrigerator, the computer program product,according to another embodiment, includes a computer readable storagemedium having program instructions embodied therewith. The computerreadable storage medium is not a transitory signal per se. Moreover, theprogram instructions are readable and/or executable by a processor tocause the processor to perform a method which includes: determining, bythe processor, an ambient storage temperature in each of the differentcompartments of the refrigerator; evaluating, by the processor, whetherthe compartments are positioned relative to each other such that atemperature gradient between each pair of directly adjacent compartmentsis minimized; determining, by the processor, an order in which torearrange the compartments in response to determining that thecompartments are not positioned relative to each other such that atemperature gradient between each of the pairs of the directly adjacentcompartments is minimized; and outputting, by the processor and using anoutput device, the determined order in which to rearrange thecompartments.

A refrigerator, according to yet another embodiment, includes: sensorsfor determining types of food items in each of a plurality ofcompartments in the refrigerator; a controller in communication with thesensors, the controller being configured to: receive a request to storea first type of food item in the refrigerator; determine, usingdetection hardware, each type of food item already stored in one or moreof the compartments of the refrigerator; compare a characteristic of thefirst type of food item with a same type of characteristic for each typeof food item already stored in the one or more of the compartments ofthe refrigerator; and select a first of the compartments in which tostore the first type of food item based at least in part on thecomparison. Moreover, the refrigerator also includes an output devicefor outputting the recommendation to store the first type of food itemin the first compartment.

Other aspects and embodiments of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a network architecture, in accordance with one embodiment.

FIG. 2 is a representative hardware environment that may be associatedwith the servers and/or clients of FIG. 1, in accordance with oneembodiment.

FIG. 3A is a partial representative view of a system, in accordance withone embodiment.

FIG. 3B is an interior view of a refrigerator in FIG. 3A, in accordancewith one embodiment.

FIG. 4 is a flowchart of a method, in accordance with one embodiment.

FIG. 5 is a representational view of a food storage lookup table, inaccordance with one embodiment.

FIG. 6 is a flowchart of a method, in accordance with one embodiment.

FIG. 7 is a flowchart of a method, in accordance with one embodiment.

FIG. 8 is a flowchart of a method, in accordance with one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified. It will be further understood thatthe terms “comprises” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

The following description discloses several preferred embodiments ofsystems, methods and computer program products for actively andautomatically controlling the temperature of different compartments in arefrigerator depending on the type of food item(s) stored therein. As aresult, performance of the refrigerator as a whole is significantlyimproved, items stored in the refrigerator gain a longer storage life,consumption of resources (electricity) is reduced, etc., e.g., as willbe described in further detail below.

In one general embodiment, a refrigerator-implemented method foroptimizing placement of food items in different compartments of arefrigerator, includes: receiving a request to store a first type offood item in the refrigerator, determining, using detection hardware,each type of food item already stored in one or more of the compartmentsof the refrigerator, comparing a characteristic of the first type offood item with a same type of characteristic for each type of food itemalready stored in the one or more of the compartments of therefrigerator, selecting a first of the compartments in which to storethe first type of food item based at least in part on the comparison,and outputting, using an output device, a recommendation to store thefirst type of food item in the first compartment.

In another general embodiment, a computer program product for optimizingplacement of food items in different compartments of a refrigerator, thecomputer program product including a computer readable storage mediumhaving program instructions embodied therewith. The computer readablestorage medium is not a transitory signal per se. Moreover, the programinstructions are readable and/or executable by a processor to cause theprocessor to perform a method which includes: determining, by theprocessor, an ambient storage temperature in each of the differentcompartments of the refrigerator; evaluating, by the processor, whetherthe compartments are positioned relative to each other such that atemperature gradient between each of the pairs of directly adjacentcompartments is minimized; determining, by the processor, an order inwhich to rearrange the compartments in response to determining that thecompartments are not positioned relative to each other such that atemperature gradient between each of the pairs of directly adjacentcompartments is minimized; and outputting, by the processor and using anoutput device, the determined order in which to rearrange thecompartments.

In yet another general embodiment, a refrigerator, includes: sensors fordetermining types of food items in each of a plurality of compartmentsin the refrigerator; a controller in communication with the sensors, thecontroller being configured to: receive a request to store a first typeof food item in the refrigerator; determine, using detection hardware,each type of food item already stored in one or more of the compartmentsof the refrigerator; compare a characteristic of the first type of fooditem with a same type of characteristic for each type of food itemalready stored in the one or more of the compartments of therefrigerator; and select a first of the compartments in which to storethe first type of food item based at least in part on the comparison.Moreover, the refrigerator also includes an output device for outputtingthe recommendation to store the first type of food item in the firstcompartment.

FIG. 1 illustrates an architecture 100, in accordance with oneembodiment. As shown in FIG. 1, a plurality of remote networks 102 areprovided including a first remote network 104 and a second remotenetwork 106. A gateway 101 may be coupled between the remote networks102 and a proximate network 108. In the context of the presentarchitecture 100, the networks 104, 106 may each take any formincluding, but not limited to a local area network (LAN), a wide areanetwork (WAN) such as the Internet, public switched telephone network(PSTN), internal telephone network, etc.

In use, the gateway 101 serves as an entrance point from the remotenetworks 102 to the proximate network 108. As such, the gateway 101 mayfunction as a router, which is capable of directing a given packet ofdata that arrives at the gateway 101, and a switch, which furnishes theactual path in and out of the gateway 101 for a given packet.

Further included is at least one data server 114 coupled to theproximate network 108, and which is accessible from the remote networks102 via the gateway 101. It should be noted that the data server(s) 114may include any type of computing device/groupware. Coupled to each dataserver 114 is a plurality of user devices 116. User devices 116 may alsobe connected directly through one of the networks 104, 106, 108. Suchuser devices 116 may include a desktop computer, lap-top computer,hand-held computer, printer or any other type of logic. It should benoted that a user device 111 may also be directly coupled to any of thenetworks, in one embodiment.

A peripheral 120 or series of peripherals 120, e.g., facsimile machines,printers, networked and/or local storage units or systems, etc., may becoupled to one or more of the networks 104, 106, 108. It should be notedthat databases and/or additional components may be utilized with, orintegrated into, any type of network element coupled to the networks104, 106, 108. In the context of the present description, a networkelement may refer to any component of a network.

According to some approaches, methods and systems described herein maybe implemented with and/or on virtual systems and/or systems whichemulate one or more other systems, such as a UNIX system which emulatesan IBM z/OS environment, a UNIX system which virtually hosts a MICROSOFTWINDOWS environment, a MICROSOFT WINDOWS system which emulates an IBMz/OS environment, etc. This virtualization and/or emulation may beenhanced through the use of VMWARE software, in some embodiments.

In more approaches, one or more networks 104, 106, 108, may represent acluster of systems commonly referred to as a “cloud.” In cloudcomputing, shared resources, such as processing power, peripherals,software, data, servers, etc., are provided to any system in the cloudin an on-demand relationship, thereby allowing access and distributionof services across many computing systems. Cloud computing typicallyinvolves an Internet connection between the systems operating in thecloud, but other techniques of connecting the systems may also be used.

FIG. 2 shows a representative hardware environment associated with auser device 116 and/or server 114 of FIG. 1, in accordance with oneembodiment. Such figure illustrates a typical hardware configuration ofa workstation having a central processing unit 210, such as amicroprocessor, and a number of other units interconnected via a systembus 212.

The workstation shown in FIG. 2 includes a Random Access Memory (RAM)214, Read Only Memory (ROM) 216, an input/output (I/O) adapter 218 forconnecting peripheral devices such as disk storage units 220 to the bus212, a user interface adapter 222 for connecting a keyboard 224, a mouse226, a speaker 228, a microphone 232, and/or other user interfacedevices such as a touch screen and a digital camera (not shown) to thebus 212, communication adapter 234 for connecting the workstation to acommunication network 235 (e.g., a data processing network) and adisplay adapter 236 for connecting the bus 212 to a display device 238.

The workstation may have resident thereon an operating system such asthe Microsoft Windows® Operating System (OS), a MAC OS, a UNIX OS, etc.It will be appreciated that a preferred embodiment may also beimplemented on platforms and operating systems other than thosementioned. A preferred embodiment may be written using eXtensible MarkupLanguage (XML), C, and/or C++ language, or other programming languages,along with an object oriented programming methodology. Object orientedprogramming (OOP), which has become increasingly used to develop complexapplications, may be used.

As previously mentioned, conventional refrigerators typically includeone large compartment in which various items (e.g., food) may be storedand cooled. However, a result of having one large compartment is thateverything placed therein is subjected to the same temperature. In manycases, having a single compartment set to hold a certain temperature isdesirable and serves as an effective way to cool various items. However,different foods have a wide range of “ideal” temperatures at which theyare stored, and therefore conventional refrigerators lack efficiency inmaintaining the overall longevity of the various food items that may bestored therein. For example, the ideal storage temperature for one typeof food may be too high for another type of food, thereby causing someof the food to go bad at an accelerated rate.

In sharp contrast, some of the embodiments described herein are able toachieve refrigeration schemes which are content and/or context aware. Inother words, various embodiments included herein are able to achievesignificant increases in cooling efficiency for refrigeration units.Moreover, these improvements may be achieved (e.g., realized) on themicroscopic and/or macroscopic (e.g., regional) levels.

Looking now to FIGS. 3A-3B, a high level view of a system 300 having arefrigerator 302 is illustrated according to one embodiment. As anoption, the present system 300 may be implemented in conjunction withfeatures from any other embodiment listed herein, such as thosedescribed with reference to the other FIGS. However, such system 300 andothers presented herein may be used in various applications and/or inpermutations which may or may not be specifically described in theillustrative embodiments listed herein. Further, the system 300presented herein may be used in any desired environment. Thus FIGS.3A-3B (and the other FIGS.) may be deemed to include any possiblepermutation.

As mentioned above, the system 300 includes a refrigerator 302 which iscoupled to a power source 304 as shown in FIG. 3A. Although the innerworkings of the refrigerator 302 are not shown in the present embodiment(e.g., such as a compressor, a fan, etc.), the refrigerator 302 is shownas including a graphical user interface (GUI) 306, a barcode scanner308, a camera 310, a controller 311, and an antenna 312. The GUI 306 mayallow for the refrigerator 302 to display any desired information to auser. For example, the GUI 306 may be used to display an internaltemperature of the refrigerator 302, a status of the refrigerator 302,information pertinent to a user (e.g., such as local weather, calendarevents, news, email, etc.), a user manual, etc., or any other desiredinformation. Moreover, the GUI 306 may also serve as a medium throughwhich a user can provide input, e.g., such as adjusting a storagetemperature inside the refrigerator 302, looking up cooking recipes,compiling a shopping list, etc.

The barcode scanner 308 may be used to scan barcodes of food itemsand/or other items as they are added to the interior of the refrigerator302. Accordingly, the refrigerator may be able to keep track of whatfood items are currently stored therein and provide a desirably cooledstorage environment, e.g., as will be described in further detail below.Moreover, the barcode scanner 308 may be used to add certain items to ashopping list with more specificity than simply typing in a descriptionof the items.

The camera 310 may serve a number of functions as well. For instance, insome approaches the camera 310 may be accessible to a user, e.g., fortaking pictures, videos, security monitoring, etc. In other approaches,the camera may be motion activated and may be able to detect variousfood items as they are being inserted into the refrigerator 302.Accordingly, in addition to the camera 310 on an exterior of therefrigerator 302, there may be one or more additional cameras locatedinside the refrigerator 302 (e.g., see FIG. 3B). The interior camerasmay be placed at strategic locations in the refrigerator 302 such that amaximum number of food items may be identified. As mentioned above, byidentifying food items or other types of items added to the refrigerator302, a desirably cooled storage environment may be set and maintained,e.g., as will be described in further detail below.

The refrigerator 302 may receive various requests, commands, performancerequirements, etc., while in use. The controller 311 is preferablyelectrically coupled to the refrigerator 302, and may be used to conductvarious processes involving the performance of the refrigerator 302.Thus, the controller 311 may also be electrically coupled to anoperating circuit (not shown) of the refrigerator 302 which is used tocontrol the various performance characteristics of the refrigerator 302.Accordingly, the controller 311 may be used to perform variousoperations and/or decisions which involve the refrigerator's 302performance, e.g., according to any of the embodiments described herein.

Although only a single antenna 312 is depicted in FIG. 3A, this is in noway intended to limit the invention. The type and functionality of theantenna 312 may vary depending on the approach. For instance, in someapproaches the antenna 312 may be a Wi-Fi, Bluetooth, etc. antenna whichis capable of connecting wirelessly to a user mobile device 314. Inother approaches, the antenna 312 may additionally or alternativelyserve as a wireless tag reader, e.g., such as a near field communication(NFC) reader, a radio-frequency identification (RFID) tag reader, etc.In still other approaches, the antenna 312 may provide the refrigerator302 the ability to connect wirelessly to a network 316. However, itshould be noted that in some approaches the refrigerator 302 may beconnected to a network 316 by a wired (physical) connection, e.g., suchas an Ethernet cable. In some approaches, the refrigerator 302 mayinclude more than one type of antenna which are able to function withoutcausing interference for each other.

The type of network 316 that the refrigerator 302 connects to may vary.For instance, the network 316 may be a WAN in order to provide therefrigerator 302 a connection to a remote storage location 318. However,in other approaches the network 316 may be a LAN, a metropolitan areanetwork (MAN), a storage-area network (SAN), a virtual private network(VPN), or any other type of network which may be desired. It should alsobe noted that although the refrigerator 302 is connected to the remotestorage location 318 by a wireless connection to the network 316, insome approaches the refrigerator may be coupled to the remote storagelocation 318 by a physical, wired connection.

The remote storage location 318 may include memory 320 and a controller(e.g., processor) 322 as illustrated. The memory 320 may be used tostore data pertaining to user preferences, refrigerator settings,historical use, food item information, etc. The controller 322 ispreferably able to receive and process requests which may pertain todata (e.g., information) stored in the memory 320. Moreover, thecontroller 322 may be able to perform one or more processes included inthe various embodiments described herein, e.g., as will be described infurther detail below.

Looking to FIG. 3B, an interior of the refrigerator 302 is shown inaccordance with one embodiment which is in no way intended to limit theinvention. For instance, although a camera 310 is included in each ofthe compartments 324 inside the refrigerator 302, the number and/orplacement of cameras 310 may vary depending on the desired approach.However, including a camera 310 in each of the compartments 324 allowsfor increased detection of food items as they are added to thecompartments. Moreover, by orienting the cameras 310 on or near an uppersurface of each of the compartments 324, the cameras 310 are able tomaximize their field of view and have a desirable vantage point of thevarious food items that may be included in a respective compartment 324.Accordingly, the configuration illustrated in FIG. 3B may be desirablein many situations, but it is in no way required.

Each of the compartments 324 are also preferably individuallycontrollable and configured to maintain different unique ambient storagetemperatures therein. In other words, each of the storage compartments324 may maintain a different ambient storage temperature in the interiorcompartment thereof. It follows that in some approaches, each of thestorage compartments 324 may be thermally insulated in order to reducethe effect that temperatures of adjacent compartments and/or therefrigerator 302 as a whole have. Moreover, the individual control ofthe temperature in each of the various compartments 324 may be achievedby using baffling that controls the amount of cold air delivered to eachof the compartments 324 from a central refrigeration unit (e.g.,chiller), using more than one refrigeration unit to chill respectivesubsets of the compartments 324, fans that selectively direct cold airto specific ones of the compartments 324, etc.

Referring now to FIG. 4, a flowchart of a computer-implemented method400 for controlling temperature settings based on types of food itemsadded to a refrigerator is shown according to one embodiment. The method400 may be performed in accordance with the present invention in any ofthe environments depicted in FIGS. 1-3, among others, in variousembodiments. Of course, more or less operations than those specificallydescribed in FIG. 4 may be included in method 400, as would beunderstood by one of skill in the art upon reading the presentdescriptions.

Each of the steps of the method 400 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 400 may be partially or entirely performed by acontroller, a processor, etc., or some other device having one or moreprocessors therein. The processor, e.g., processing circuit(s), chip(s),and/or module(s) implemented in hardware and/or software, and preferablyhaving at least one hardware component may be utilized in any device toperform one or more steps of the method 400. Illustrative processorsinclude, but are not limited to, a central processing unit (CPU), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), etc., combinations thereof, or any other suitablecomputing device known in the art.

As shown in FIG. 4, operation 402 of method 400 includes activelyscanning for food items. Depending on the refrigerator, differentcomponents may be used to detect new food items. For instance, arefrigerator may use a barcode scanner, a wireless tag reader, a GUI, acamera, etc. in order to actively scan for food items in a certainproximity of the refrigerator. However, it is preferred that thisproximity is close enough to the actual refrigerator such that fooditems which are not ultimately stored in the refrigerator are notdetected for further evaluation. Thus, in some approaches therefrigerator may actively scan for nearby food items upon detecting thata front door to the refrigerator has been opened, upon detecting motion(e.g., using a motion detector), at a certain time of day based onhistorical use, etc.

According to some approaches, the refrigerator may enter a standby stateafter an amount of inactivity, at predetermined times (e.g., late atnight), upon receiving user input to do so, etc. As a result, therefrigerator may be able to reduce energy consumption, prolong thelifetime of the various refrigerator components, etc.

Once a food item is actually detected, appropriate action may be taken.Accordingly, operation 404 includes detecting a first type of food itemadded to a first compartment of a refrigerator. It should also be notedthat “added to” as used herein preferably refers to adding somethingsuch as a food item into a specific compartment of the refrigerator.However, the point at which the detection is made in operation 404 maybe during the act of adding the food item to a specific compartmentand/or after the food item has been added to the compartment. The timingassociated with performing operation 404 or any of the other operationsincluded herein may vary depending on the type of detection used, anamount of detection components (hardware) integrated with therefrigerator, a type of food item being added to the refrigerator, etc.For example, the barcode on a carton of milk may be scanned by a userbefore a door to the refrigerator is opened and the milk is placed in aspecific compartment. Thus, the type of food item may be detected by therefrigerator before it is added thereto. Yet in another example, asingle unmarked apple may simply be added to a given compartment in therefrigerator without any other input, whereby a camera positioned in thecompartment that the apple was added to may capture images of the applewhich are processed using image recognition software, ultimatelydetermining that an apple has been added to the compartment at a laterpoint in time.

It follows that, depending on the type of refrigerator and/or the typeof detection component(s) integrated with the refrigerator, types offood items added to a compartment in the refrigerator may be detected(e.g., recognized, determined, etc.) in different ways. For instance, insome approaches the refrigerator may include a barcode scanner.Accordingly, the refrigerator may determine a type of food item as it isbeing added to the refrigerator in response to a user positioning thefood item relative to the barcode scanner of the refrigerator such thata barcode of the food item may be scanned, and the corresponding fooditem information looked up, e.g., from a table. In other approaches, therefrigerator may include a wireless tag reader such as a radio-frequencyidentification (RFID) tag reader, NFC reader, etc. which is able todetect a wireless tag coupled to the food item and/or packaging thereof.Moreover, the wireless tag reader may be able to gather informationabout the food item from the wireless tag itself, and/or access fooditem information from memory, e.g., using a lookup table.

Furthermore, in other approaches the refrigerator may use a cameraintegrated with the refrigerator in order to detect a type of food itemadded to a compartment of the refrigerator. For instance, a digitalcamera may be integrated with an exterior surface (e.g., the door to therefrigerator, a top of the refrigerator, a side of the refrigerator,etc.), and therefore be able to “see” food items as they are brought bya user to the refrigerator. Moreover, image recognition software may beused to evaluate a feed (e.g., input) from the digital camera such thatcertain food items may be detected. Depending on the approach, the imagerecognition software may be used to evaluate the digital camera feed atthe refrigerator itself (e.g., using an onboard controller), or at aremote (or at least removed) storage location which includes one or morecontrollers and preferably memory to implement the image recognitionsoftware, e.g., as would be appreciated by one skilled in the art afterreading the present description.

Referring still to FIG. 4, operation 406 includes determining an idealstorage temperature associated with the type of food item added to thefirst compartment. As previously mentioned, different types of fooditems have an “ideal” storage temperature which may lengthen a shelflife of the respective food item to a maximum potential, optimize ataste or texture of the food item, conserve nutrients in the food itemfor an optimal amount of time, correspond to user preferences, etc.Accordingly, upon determining a type of food item that is being added orwhich has already been added to a compartment of the refrigerator, it isdesirable to determine an ideal storage temperature associated with thattype of food item, such that the storage temperature may be adjustedaccordingly (e.g., see operation 408 below).

The ideal storage temperature may be determined by accessing a lookuptable in memory of the refrigerator itself, or remote memory which therefrigerator may be able to access (e.g., see FIG. 3 above). The lookuptable may associate a number of different types of food items with theirideal storage temperature, a corresponding approximate storage life,similarities between different types of food items, etc. Referringmomentarily to FIG. 5, an exemplary food storage lookup table 500 isillustrated in accordance with one embodiment which is in no wayintended to limit the invention. As shown, the lookup table 500 includesa number of different types of food items, an ideal storage temperaturerange for each of the food items, and an approximate storage life for anumber of the respective food items if stored at a temperature in thelisted ideal storage temperature range.

It should also be noted that an “ideal storage temperature” used hereinis not necessarily limited to a single, specific number, but may alsoinclude a range of temperatures that collectively may be considered anideal storage temperature. Therefore, the term “ideal storagetemperature” is intended to also encompass temperature ranges. Forexample, each type of food item may have a desirable ideal range interms of the temperature of the ambient environment in which they arestored. Moreover, a user may be able to provide input and/or manuallyadjust the ideal temperature value or range at which different types offood items are stored, e.g., based on personal preference, the time ofyear, a ripeness of the food item, etc. In some situations, arefrigerator may even be able to override the ideal temperature range inorder to adapt to different conditions which may have an effect oncertain food items stored in the refrigerator. For instance, therefrigerator may be able to detect upcoming events and determine whetherfood items corresponding to that event will be at a desirable (e.g.,optimal) temperature by that time, e.g., see FIG. 6 below.

Referring back to FIG. 4, method 400 further includes adjusting anambient storage temperature in the first compartment to substantiallymatch the ideal storage temperature associated with the first type offood item. See operation 408. As described above, each of thecompartments in the refrigerator are preferably individuallycontrollable and configured to maintain different unique ambient storagetemperatures therein. The manner in which the temperature is actuallyadjusted in each of the compartments may vary depending on the approach,and may implement using baffling, fans, multiple cooling units, etc. aspreviously mentioned. Also, where the ideal storage temperature of thefirst type of food item is a range, the storage temperature in the firstcompartment may be set to a value in said range.

Following operation 408, method 400 is shown as returning to operation402 whereby the refrigerator may return to a scanning state. Moreover,upon detecting another food item, any one or more of the operationsincluded in method 400 may be repeated for the newly detected food item.For instance, upon detecting a second type of food item added to asecond compartment in the refrigerator, the second type of food itembeing different than the first type of food item, method 400 may repeatoperation 406 for the second type of food item. Because the second typeof food item is different than the first type of food item, there is ahigh probability that the second type of food item has a different idealstorage temperature than that associated with the first type of fooditem. Accordingly, the method 400 may automatically determine an idealstorage temperature associated with the second type of food item addedto the second compartment. Upon determining the ideal storagetemperature associated with the second type of food item, method 400 maydesirably adjust an ambient storage temperature in the secondcompartment to substantially match the ideal storage temperatureassociated with the second type of food item. Again, the compartmentsincluded in a refrigerator as described herein are preferablyindividually controllable and configured to maintain different uniqueambient storage temperatures according to any of the approachesmentioned above. It follows that method 400 is able to automaticallyrecognize different types of food items inserted in differentcompartments of the refrigerator and make automatic adjustments to theambient storage temperatures thereof in view of the recognized types offood items.

Although the processes included in method 400 are desirable in that eachof the compartments in the refrigerator may automatically be set to atemperature which corresponds to the type of food item stored therein,additional factors may be taken into consideration when cooling aparticular food item. For instance, although the ambient storagetemperature in a given compartment may substantially match the idealstorage temperature associated with the type of food item storedtherein, the food item may need to be exposed to that ideal storagetemperature for a given amount of time before the actual (e.g.,internal) temperature of the food item itself is reduced to thedesirable range.

According to an example, which is in no way intended to limit theinvention, after a long drive transporting shellfish bought at the storeback home, the shellfish may be added to a given compartment of arefrigerator according to the operations included in method 400. Thus,the refrigerator may set the ambient storage temperature in thecompartment to 40 degrees Fahrenheit, thereby creating an “ideal”storage environment for the shellfish. However, a user which purchasedthe shellfish on their way home from work may have plans to use theshellfish as an appetizer for a dinner soon after returning home. Thus,although the compartment in which the shellfish is stored is set to anideal storage temperature, the shellfish may not actually cool downenough in time before the user hopes to serve the shellfish as anappetizer.

It follows that in certain time-sensitive situations, the storageconditions for certain food items may deviate from the “ideal” storagetemperature in order to achieve a more efficient result. Moreover, arefrigerator may desirably be able to detect such situations and takethe appropriate actions in order to achieve this increased efficiencywithout user intervention. Accordingly, referring now to FIG. 6, amethod 600 for adjusting refrigeration settings based on future eventsis illustrated in accordance with one embodiment. The method 600 may beperformed in accordance with the present invention in any of theenvironments depicted in FIGS. 1-5, among others, in variousembodiments. Of course, more or less operations than those specificallydescribed in FIG. 6 may be included in method 600, as would beunderstood by one of skill in the art upon reading the presentdescriptions.

Each of the steps of the method 600 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 600 may be partially or entirely performed by acontroller, a processor, etc., or some other device having one or moreprocessors therein. The processor, e.g., processing circuit(s), chip(s),and/or module(s) implemented in hardware and/or software, and preferablyhaving at least one hardware component may be utilized in any device toperform one or more steps of the method 600. Illustrative processorsinclude, but are not limited to, a central processing unit (CPU), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), etc., combinations thereof, or any other suitablecomputing device known in the art.

Moreover, any one or more of the processes included in method 600 may beperformed automatically upon detecting a future event, e.g., as willsoon become apparent.

As shown in FIG. 6, operation 602 of method 600 includes detecting afuture event which corresponds to one or more food items stored in arefrigerator. The future event may be detected from a source ofscheduling information which may include, but is not limited to, anemail account, text messages, a calendar, a location of a user, acurrent time, audio conversation monitoring, etc. and/or combinationsthereof depending on the approach. Accordingly the refrigerator may haveone or more components which enables it to connect to, integrate with,detect, etc. various sources of scheduling information which correspondsto one or more users. For example, the refrigerator may include amicrophone which is able to detect and analyze audio signals (e.g.,speech) detected in a proximity of the refrigerator. According toanother example, the refrigerator may include network connection and acontroller which is able to connect to a server which manages a user'scalendar. In yet another example, the refrigerator may include awireless antenna and a processor which is able to access and evaluatetext messages stored on a user's mobile phone.

In some approaches, although a future event is detected, additionalprocesses of determining whether the future event is sufficientlycorrelated to one or more food items stored in the refrigerator may bemade. According to one example, a controller at the refrigerator mayimplement a word2vec correlation of words corresponding to a detectedevent and words associated with food items currently stored in therefrigerator. A result of the word2vec correlation of the differentwords (terms) may subsequently be evaluated in order to determinewhether the future event actually does correspond to one or more fooditems stored in a refrigerator. However, any desired process may beperformed in order to determine whether the detected event correspondsto any food items in the refrigerator.

For instance, in some approaches an output of a correlation made betweenone or more words corresponding to a detected event and words associatedwith food items currently stored in the refrigerator may be compared toa threshold value. The threshold value may be predetermined, calculatedin real time, set by a user, etc. If the output of the correlation isabove the threshold, method 600 may proceed to decision 604. However, ifthe output of the correlation is below the threshold, then operation 602may fail to return a future event which sufficiently (e.g., actually)corresponds to one or more food items stored in a refrigerator, andmethod 600 may effectively be ended. However, it should also be notedthat “above the threshold” and “below the threshold” is in no wayintended to limit the invention. Rather than determining whether a valueis above or below a threshold, equivalent determinations may be made,e.g., as to whether a value is within a predetermined range, whether avalue is outside a predetermined range, whether an absolute value isabove a threshold, etc., depending on the desired approach.

Accordingly, decision 603 includes determining whether a sufficientlystrong correlation between the future event detected in operation 602and one or more of the food items stored in the refrigerator. Upondetermining that a sufficiently strong correlation does not existtherebetween, method 600 jumps to operation 608, whereby the current(e.g., normal) cooling settings of the refrigerator are maintained.However, method 600 may proceed to decision 604 in response todetermining that a sufficiently strong correlation does exist betweenthe future event detected in operation 602 and one or more of the fooditems stored in the refrigerator.

As shown, decision 604 includes projecting (e.g., determining) whether atemperature of the one or more food items will reach a respectiveoptimal temperature by a time associated with the detected future event.In other words, decision 604 includes determining whether the one ormore food items determined to correspond to the detected future eventwill be at a desired temperature by the time the future event occurs.Although it may be difficult to actually measure the effective (e.g.,internal) temperature of a food item stored inside a refrigerator, itmay be approximated based on various conditions. For instance, coolingdata for various different types of food items may be stored and used toapproximate the temperature of a given food item. According to oneexample, although it may be difficult to physically measure thetemperature of the liquid inside a soda can stored in a refrigerator,the approximate liquid temperature may be calculated based on an amountof liquid in the can, when the can was placed in a compartment of therefrigerator, an ambient temperature in the compartment while the canhas been stored therein, a type of liquid included in the can, etc.

However, in some approaches the refrigerator may include addedfunctionality which assist in making decision 604. For example, camerasplaced in the interior of the refrigerator may be equipped with thermalimaging technology. Thus, the cameras may be able to approximate aninternal temperature of various food items by evaluating a thermal scanof the food items. Moreover, in other approaches, the projection indecision 604 may be made at least in part by evaluating collected usercontext and/or historical data corresponding to previous use of therefrigerator (e.g., which may be stored in memory). According to yetother approaches, decision 604 may incorporate comparing temperatureinformation associated with the food items with a threshold, orequivalently a desired range. In some approaches, internal and/or onlinedatabases may be consulted to determine the rate of cooling of thedetected type of food item, calculate a time to cool the detected typeof food item, etc.

In other approaches, determining an outcome for decision 604 may includeusing one or more thermal sensors (or thermal cameras), each of whichmay be positioned in each of the compartments. The thermal sensors maymeasure a current temperature of the food item and thereby develop acooling strategy based on the current temperature of the item. Moreover,a scale which anticipates how long it may take to cool a particular typeof food item to a desired internal temperature may be used as a part ofdeveloping the cooling strategy which may ultimately be implemented(e.g., in operation 606 below). According to an illustrative example, athermal sensor may determine that the current temperature of a 23 ounce(oz.) bottle of champagne is currently at 70 degrees F. Moreover, thechampagne may be sufficiently correlated to an upcoming party whichbegins in 30 minutes, whereby the refrigerator may initiate a coolingstrategy which maximizes chilling of the champagne. In another example,a 3 oz. bottle of juice may have a current temperature of 70 degrees F.detected by a thermal sensor positioned in the same compartment of therefrigerator. Although the juice may be sufficiently correlated to anupcoming party which begins in 30 minutes, because of the small size ofthe juice bottle, the cooling strategy implemented to cool the juice maynot be as aggressive as that used in the previous example to cool thechampagne at a maximum rate.

It follows that determining the heat capacity of the food item may bedesirable in order to perform decision 604 and/or operation 606, e.g.,as will be further described below. According to some approaches, theheat capacity of a food item may be determined by incorporating the typeof food item and/or a mass (e.g., weight) of the food item. According toan example, the following equation may be used when determining theoutcome of decision 604: [(the current temperature of the food item)−(atarget temperature of the food item)×(the specific heat capacity of thefood item)×(mass of the food item)=the total amount of heat which shouldbe extracted from the food item. Again, the current temperature of afood item may be determined using a thermal sensor and/or a thermalcamera. Moreover, the specific heat capacity of a food item may bedetermined by identifying the type of food item. For instance, is thefood item primarily liquid, solid, powder, etc. Moreover, differenttypes of food items may correspond to different heat capacities whichmay be stored in memory, e.g., in a lookup table. Furthermore, a mass ofthe food item may be given a scaling factor which has an effect on thecooling strategy determined.

It follows that projecting whether a temperature of the first and/orsecond food items will reach a respective optimal temperature by thefuture event may include measuring the current temperatures and/orweights of the various food items using thermal sensors as describedabove. Moreover, specific heat capacities which correspond to therespective food items may be identified in response to recognizing atype of the respective food items, e.g., as would be appreciated by oneskilled in the art after reading the present description.

Once the approximate temperature of the one or more food items has beendetermined using any of the processes described and/or suggested above,an extrapolation may be made as to whether the temperature of the one ormore food items will reach their respective optimal temperatures by thetime the future event occurs assuming the ambient storage temperature(s)thereof remain relatively constant. This extrapolation may be calculatedusing mathematical processes which would be apparent to one skilled inthe art after reading the present description.

In response to determining that any of the one or more food items willnot reach their respective optimal temperatures by the time the futureevent occurs, method 600 proceeds to operation 606. There, operation 606includes adjusting (reducing) the ambient storage temperature in thecompartments which the one or more food items are stored in. It followsthat by reducing the ambient storage temperature as described, the rateat which the one or more food items are chilled to a desired temperatureis accelerated. Again, the various different compartments in arefrigerator are preferably individually controllable and configured tomaintain different unique ambient storage temperatures therein.

The amount by which the ambient storage temperature in the compartmentsis adjusted (reduced) in operation 606 may depend on the currenttemperature of the one or more food items, the time of the detectedevent, an amount by which the one or more food items will preferably bechilled, etc. In some approaches, the ambient storage temperature in acompartment may be reduced to the lowest possible temperature in orderto maximize the rate by which the food items stored therein are chilled.This approach may be implemented in situations where the food items areresilient enough to withstand extremely low temperatures and/or if it isnot possible for the food items stored therein to reach a desiredtemperature by the time they are to be used (e.g., consumed).

Returning to decision 604, method 600 proceeds to operation 608 inresponse to determining that each of the one or more food items willreach their respective optimal temperatures at least by the time thefuture event occurs. There, operation 608 includes maintaining thecurrent settings of the refrigerator, thereby following the “normal”operation of the refrigerator according to the various approachesdescribed in correspondence with method 400 of FIG. 4 above.

In one example of method 600 in use, assume a bottle of champagne isdetected being placed in a refrigerator at 5 pm. A calendar evententitled “anniversary dinner” is detected using a word2vec correlationof the term “champagne” and “anniversary.” The date and time of thecalendar event are found to correspond to 7 pm, later that day. Theideal temperature of the champagne is 55 degrees Fahrenheit, and it ispresumed the champagne is at room temperature when placed in thecompartment. The system determines in operation 604 that the champagnewill not reach the ideal temperature by 7 pm, and therefore acceleratesthe cooling thereof.

However, it should be noted that depending on the approach, the one ormore food items determined to correspond to an upcoming event may bestored in a same compartment of the refrigerator or in differentcompartments of the refrigerator. Accordingly, in some approaches it maybe determined that a food item stored in a first compartment may reach adesired temperature by the future event, while a second food item storedin a second compartment may not. It follows that it may be desirable toperform the various processes included in method 600 for each of thefood items determined to correspond to the future event detected inoperation 602, e.g., such that some food items may be chilled at anormal rate, while others may be chilled at an accelerated rate.

It follows that in addition to being able to recognize different typesof food items inserted in different compartments of the refrigerator,some of the embodiments herein may also be able to automatically controlan ambient storage temperature in certain compartments in view of thecontext of future events that incorporate food items stored therein.Thus, the automation of the food refrigeration as described herein isfurther improved.

Although some of the operations included in FIGS. 4 and 6 are describedin such a way that insinuates that each new type of food item will beplaced in its own compartment of the refrigerator, a refrigerator onlyhas a finite amount of compartments and room included therein. Thus,over time food items being added to the refrigerator may be stored in acompartment which already includes food items which are a different typethan the food item being added thereto. Conventionally, this process ofgrouping different types of food items together has been somewhattrivial as conventional refrigerators simply have one large compartmentsuch that everything placed therein is subjected to the same storagetemperature.

However, with the introduction of content and context aware storage ofdifferent types of food items, the significant increases in coolingefficiency for refrigeration units experienced on the microscopic levelas described above, may also be achieved on the macroscopic (e.g.,regional) level as well.

Referring now to FIG. 7, a flowchart of a refrigerator-implementedmethod 700 for optimizing placement of food items in differentcompartments of a refrigerator unit is shown according to oneembodiment. The method 700 may be performed in accordance with thepresent invention in any of the environments depicted in FIGS. 1-6,among others, in various embodiments. Of course, more or less operationsthan those specifically described in FIG. 7 may be included in method700, as would be understood by one of skill in the art upon reading thepresent descriptions.

Each of the steps of the method 700 may be performed by any suitablecomponent of the operating environment. For example, any one or more ofthe processes includes in method 700 may be performed by a controller(e.g., a processor) of a refrigerator. In other words, any one or moreof the processes includes in method 700 may be performed by arefrigerator. In various other embodiments, the method 700 may bepartially or entirely performed by a controller, a processor, etc., orsome other device having one or more processors therein. The processor,e.g., processing circuit(s), chip(s), and/or module(s) implemented inhardware and/or software, and preferably having at least one hardwarecomponent may be utilized in any device to perform one or more steps ofthe method 700. Illustrative processors include, but are not limited to,a central processing unit (CPU), an application specific integratedcircuit (ASIC), a field programmable gate array (FPGA), etc.,combinations thereof, or any other suitable computing device known inthe art.

As shown in FIG. 7, operation 702 of method 700 includes receiving arequest to store a first type of food item in the refrigerator. Therequest may be received from a user. Moreover, depending on theapproach, the request may be submitted to the refrigerator using a GUIon a display screen of the refrigerator, using voice recognition of therefrigerator, using a user mobile device which is wirelessly coupled tothe refrigerator, etc.

Moreover, it should be noted that although operation 702 includesactually receiving a request to store the first type of food item in therefrigerator, in other approaches the refrigerator may actually be ableto detect that a food item is or is going to be added to therefrigerator. Upon making this detection, the refrigerator (or acontroller of the refrigerator and/or which the refrigerator is coupledto) may deduce that a recommendation on where to store the food item isdesired. However, this feature may be selectively deactivated, ignored,overridden, etc. by the user in certain situations.

Upon receiving the request, method 700 further includes determining eachtype of food item already stored in one or more of the compartments ofthe refrigerator. See operation 704. As described above, the types offood items stored in various ones of the compartments in therefrigerator may be determined using detection hardware such as adigital camera, a barcode scanner, a wireless tag reader, etc. dependingon the desired approach. Accordingly, operation 704 may be performed byimplementing any of the approaches described above. Moreover, in anotherapproach, the types of food items in each compartment may be retrievedfrom a database that tracks insertion and removal of food items from thecompartments, e.g., in real time, thereby maintaining a currentinventory of food items in the compartments at any given time.

Furthermore, operation 706 includes comparing a characteristic of thefirst type of food item with a same type of characteristic for each typeof food item determined as already being stored in the one or more ofthe compartments of the refrigerator.

The characteristics which are preferably used when performing thecomparison of operation 706 include the ideal storage temperatures ortemperature ranges corresponding to each of the different types of fooditems. Accordingly, the ideal storage temperature or temperature rangewhich corresponds to the first type of food item being inserted into therefrigerator may be compared against the ideal storage temperatures ortemperature ranges of each of the other types of food items alreadystored in the refrigerator. It is also preferred that the comparison ismade on a per-compartment basis. In other words, the ideal storagetemperature of the first type of food item may be compared to an overall(e.g., average) ideal storage temperature of the food items stored in asame compartment. Thus, the first type of food item may not necessarilybe compared to the characteristics of each type of food item alreadystored in the refrigerator, but rather the combined characteristics ofthe food items stored in a same compartment.

Operation 708 further includes selecting a first of the compartments inwhich to store the first type of food item based at least in part on thecomparison. It follows that depending on what characteristics wereincorporated into the evaluation performed in operation 706, a number offood items already stored in each of the compartments, a similaritybetween the first type of food item and the other food items alreadystored in the refrigerator, etc., a specific one of the compartments maybe selected for the first type of food item to be added to.

In situations where there are one or more empty compartments in therefrigerator, the compartment selected in operation 708 may likely beone of the empty compartments unless another of the compartmentsincludes the same or a similar type of food item. For example, if a useris attempting to add poultry (which has an ideal storage temperature ofless than about 41 degrees Fahrenheit) to one of the compartments in arefrigerator, and every other compartment includes green bananas (whichhas an ideal storage temperature of about 65 degrees Fahrenheit), basil(which has an ideal storage temperature of about 56 degrees Fahrenheit),and unripe avocados (which has an ideal storage temperature of about 48degrees Fahrenheit), it is preferred that the poultry be added to anempty compartment. By adding the poultry to a compartment which alreadyhas another food item stored therein with an ideal storage temperaturesignificantly warmer than that of the poultry, a decay rate of one orboth of the food items would be accelerated as neither would be storedat a desirable temperature.

However, in situations where each of the compartments already includesat least one type of food item stored therein, the compartment selectedin operation 708 may be a compartment which has a current ambientstorage temperature which is closest to the ideal storage temperatureassociated with the first type of food item. By doing so, the ambientstorage temperature may be changed a minimal amount, thereby ensuring amost effective storage environment for the different types of food itemsin the refrigerator as a whole. In other approaches, the compartmentselected in operation 708 may be based on one or more chemicalcharacteristics of the food items already stored therein and/or of thefood item being added thereto. Some produce emits byproducts, e.g., suchas ethylene gas which is a natural plant hormone that helps fruit ripen.Other food items may be sensitive to these byproducts, and may therebybe effected by their emission. Accordingly, by selectively groupingcertain food items in compartments based on their chemicalcharacteristics, the effective shelf life of the food items may bedesirably optimized. Accordingly, a recommendation may be made toconsolidate certain food items that are stored in differentcompartments, such that a more efficient use of the compartments may bemade, e.g., as will be described in further detail below.

It is also desirable that the temperature gradients between directlyadjacent (e.g., contiguous) compartments is minimized. By minimizingtemperature gradients between directly adjacent compartments bothvertically and horizontally, the amount of temperature interferencewhich occurs between food items in the directly adjacent compartments isalso minimized. The laws of thermodynamics define that heat flows fromobjects that are hotter to objects that are colder at least relative toeach other. Thus, the lower the temperature gradients are betweendirectly adjacent compartments, the less heat (or energy) is lost toinefficiencies of the refrigerator (thermal system) as a whole.Accordingly, energy consumption may be reduced, dew condensation oninterior and/or exterior surfaces of the compartments may be minimized,etc.

It follows that if there are more than one empty storage compartments inthe refrigerator and none of the other compartments include food itemswhich are the same or sufficiently similar to the first type of fooditem being added, operation 708 preferably selects the empty compartmentwhich shares a wall with another compartment having an ambient storagetemperature which is closest to the ideal storage temperature associatedwith the first type of food item. However, if each of the storagecompartments already include at least one food item stored therein,operation 708 preferably selects the compartment which not only has anambient storage temperature which is closes to the ideal storagetemperature associated with the first type of food item, but which alsois directly adjacent another compartment having an ambient storagetemperature which results in the lowest temperature gradienttherebetween.

After a compartment has been selected in operation 708, method 700further includes outputting a recommendation to store the first type offood item in the first compartment. See operation 710. Therecommendation is preferably output using an output device, e.g., suchas a display screen on the refrigerator, a speaker which informs theuser of the recommendation using sound, sending a message to a mobiledevice of the user, by selectively activating lights in the recommendedcompartment, etc.

Furthermore, should a user decide to follow the recommendation andactually place the first type of food item into the compartment outputin operation 710, adjustments may be made to the ambient storagetemperature therein. Accordingly, operation 712 includes adjusting anambient storage temperature in the recommended compartment in responseto determining that the first type of food item has been placed in therecommended compartment.

In situations where the recommended compartment was empty prior to thefirst type of food item being added thereto, operation 712 may simplyinclude adjusting the ambient storage temperature of the recommendedcompartment to substantially match an ideal storage temperatureassociated with the first type of food item. Accordingly, operation 712may be performed according to any of the approaches described above(e.g., see operation 408 of FIG. 4). However, in other approaches, therecommended compartment may already include one or more other types offood items stored therein.

Accordingly, the ambient storage temperature in the recommendedcompartment may not be adjusted to a temperature that substantiallymatches an ideal storage temperature associated with the first type offood item, but rather an ambient storage temperature which best servesthe different food items stored therein as a whole. Thus, in someapproaches operation 712 may include adjusting the ambient storagetemperature in the recommended compartment to an average between theideal storage temperature associated with the first type of food itemand an ideal storage temperature associated with the other types of fooditems already stored in the first compartment. In other approaches,operation 712 may include adjusting the ambient storage temperature inthe recommended compartment to an average between the ideal storagetemperature associated with the first type of food item and a currentambient storage temperature of the recommended compartment.

Although it is desirable to maintain an arrangement of food itemsthroughout the compartments such that the temperature gradients betweendirectly adjacent compartments is minimized, this may not always be thecase. For instance, a user may ignore recommended compartments forvarious food items because they are in a rush, thereby potentiallymixing food items having very different ideal storage temperatures inthe same compartment and/or placing food items having very differentideal storage temperatures in directly adjacent compartments. It followsthat the refrigerator is preferably able to survey and evaluate theplacement of various food items in the different compartments andsuggest a rearrangement of the food items. Accordingly, looking now toFIG. 8, a flowchart of a method 800 for optimizing placement of fooditems in different compartments of a refrigerator unit is illustratedaccording to one embodiment. The method 800 may be performed inaccordance with the present invention in any of the environmentsdepicted in FIGS. 1-7, among others, in various embodiments. Of course,more or less operations than those specifically described in FIG. 8 maybe included in method 800, as would be understood by one of skill in theart upon reading the present descriptions.

Each of the steps of the method 800 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 800 may be partially or entirely performed by acontroller, a processor, etc., or some other device having one or moreprocessors therein. The processor, e.g., processing circuit(s), chip(s),and/or module(s) implemented in hardware and/or software, and preferablyhaving at least one hardware component may be utilized in any device toperform one or more steps of the method 800. Illustrative processorsinclude, but are not limited to, a central processing unit (CPU), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), etc., combinations thereof, or any other suitablecomputing device known in the art.

As shown in FIG. 8, operation 802 of method 800 includes determining anambient storage temperature in each of the plurality of differentcompartments in a refrigerator. According to some approaches, atemperature sensor may be placed in each of the compartments which mayallow a central controller to easily determine an ambient storagetemperature in each of the compartments. In other approaches, ambientstorage temperatures for each of the compartments may be stored inmemory (e.g., in a lookup table). Thus, operation 802 may be performedby accessing memory. In still other approaches, the ambient storagetemperatures may be derived by evaluating the types of food items storedin each of the compartments and calculating an average temperature foreach compartment based on the ideal storage temperature for each of thefood items therein.

Moreover, operation 804 includes evaluating whether the compartments arepositioned relative to each other such that a temperature gradientbetween each of the directly adjacent compartments is minimized. Asdescribed above, by minimizing temperature gradients between directlyadjacent compartments both vertically and horizontally, the amount oftemperature interference which occurs between food items in the directlyadjacent compartments is also minimized. Thus, the lower the temperaturegradients are between directly adjacent compartments, the less heat (orenergy) is lost to inefficiencies of the refrigerator (thermal system)as a whole. Accordingly, energy consumption may be reduced, dewcondensation on interior and/or exterior surfaces of the compartmentsmay be minimized, etc.

As shown, method 800 ends in response to determining that thecompartments are positioned relative to each other such that atemperature gradient between each of the directly adjacent compartmentsis minimized. However, method 800 proceeds to operation 806 in responseto determining that the compartments are positioned relative to eachother such that a temperature gradient between each of the directlyadjacent compartments is not minimized. In other words, method 800proceeds to operation 806 in response to determining that thearrangement of compartments can be rearranged such that performance ofthe refrigerator as a whole is improved.

Accordingly, operation 806 includes determining an order in which torearrange the compartments such that the temperature gradients betweeneach of the directly adjacent compartments is minimized. It is preferredthat operation 806 is performed with all of the compartments in mindrather than simply evaluating single pairs of the compartments. Thus, acombined temperature gradient across all directly adjacent compartmentsmay desirably be reduced should the compartments be rearranged accordingto the order determined in operation 806. As described above, it may bedesirable to also rearrange the combination of food items that areincluded in each of the compartments. Over time, as food items are addedto and removed from various compartments, the most efficient use of therefrigerator space may be to combine food items that are stored inseparate compartments, but which have a closets ideal storagetemperature currently. By doing so, space may be freed for food itemshaving an ideal storage temperature much higher or lower than the fooditems which are now combined, thereby improving performance andincreasing efficiency of the refrigerator as a whole.

With continued reference to FIG. 8, operation 808 includes outputtingthe determined order in which to rearrange the compartments. Thus,operation 808 effectively includes outputting a recommended arrangementof the various food items in the different compartments which improvesefficiency and performance of the refrigerator as a whole. Thedetermined order is preferably output using an output device, e.g., suchas a display screen on the refrigerator, a speaker which informs theuser of the recommendation using sound, sending a message to a mobiledevice of the user, by selectively activating lights in the recommendedcompartment, etc.

It should also be noted that although method 800 references an order inwhich to arrange/rearrange the compartments, the compartments themselvesmay not actually be rearranged, but rather the food items in each of thecompartments may be rearranged. Thus, the effective result may be thesame as if the compartments themselves had been rearranged, but it is inno way required to physically rearrange the compartments themselves inthe refrigerator.

Should a user decide to follow the recommendation and actually rearrangethe compartments according to the recommendation output in operation808, adjustments may be made to the ambient storage temperature in eachof the compartments accordingly. As described throughout, each of thecompartments are preferably individually controllable and configured tomaintain different unique respective ambient storage temperatures basedon the types of food items stored therein. Thus, operation 810 includesadjusting an ambient storage temperature in each of the compartments tosubstantially match an ideal storage temperature associated with one ormore types of food items stored therein. For example, the ambientstorage temperature for a given compartment may be adjusted to atemperature which is an average of the ideal storage temperaturesassociated with the various types of food items stored therein. However,as alluded to above, a user may ultimately ignore the recommendationsoutput by method 800. It follows that operation 810 may only beperformed in response to determining that the compartments have actuallybeen rearranged into the determined order.

In addition to maintaining a desirable, efficient organization ofvarious food items in the compartments of a refrigerator in a closedsystem, it is also preferred that the processes included in method 800are implemented on the fly as food items are added to and/or removedfrom the various compartments in a refrigerator. Thus, it is preferredthat any one or more of the processes described in FIG. 8 may beintegrated with various ones of the other processes included in method400 of FIG. 4, method 600 of FIG. 6 and/or method 700 of FIG. 7, e.g.,as would be appreciated by one skilled in the art after reading thepresent description.

It follows that various ones of the embodiments described and/orsuggested herein are able to actively and automatically control thetemperature of each compartment in a refrigerator depending on the typeof food item(s) stored therein. As a result, performance of arefrigerator as a whole is significantly improved, items stored in therefrigerator gain a longer storage life, consumption of resources(electricity) is reduced, etc.

Moreover, the improvements in performance achieved by the variousembodiments herein provide a number of benefits. For example, smartappliances are a new, growing market which may benefit from various onesof the improvements achieved herein. Moreover, these improvements insmart appliances may further be amplified in view of the rapidintegration of Artificial Intelligence with home appliances, homeinternet of things (IoT), etc.

Furthermore, food recognition based applications may be developed whichintegrate user context recognition, food status predictions, etc.Moreover, these food recognition based applications may be able torecommend recipes and other uses for various food items stored in arefrigerator based on a deduced relative freshness of the food item.This may further reduce food waste and increase the chances of fooddistribution to those in need, thereby achieving improvements innational/global societal issues as well as the environment.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a LAN or a WAN, or the connection may be madeto an external computer (for example, through the Internet using anInternet Service Provider). In some embodiments, electronic circuitryincluding, for example, programmable logic circuitry, field-programmablegate arrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Moreover, a system according to various embodiments may include aprocessor and logic integrated with and/or executable by the processor,the logic being configured to perform one or more of the process stepsrecited herein. The processor may be of any configuration as describedherein, such as a discrete processor or a processing circuit thatincludes many components such as processing hardware, memory, I/Ointerfaces, etc. By integrated with, what is meant is that the processorhas logic embedded therewith as hardware logic, such as an applicationspecific integrated circuit (ASIC), a FPGA, etc. By executable by theprocessor, what is meant is that the logic is hardware logic; softwarelogic such as firmware, part of an operating system, part of anapplication program; etc., or some combination of hardware and softwarelogic that is accessible by the processor and configured to cause theprocessor to perform some functionality upon execution by the processor.Software logic may be stored on local and/or remote memory of any memorytype, as known in the art. Any processor known in the art may be used,such as a software processor module and/or a hardware processor such asan ASIC, a FPGA, a central processing unit (CPU), an integrated circuit(IC), a graphics processing unit (GPU), etc.

It will be clear that the various features of the foregoing systemsand/or methodologies may be combined in any way, creating a plurality ofcombinations from the descriptions presented above.

It will be further appreciated that embodiments of the present inventionmay be provided in the form of a service deployed on behalf of acustomer to offer service on demand.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of a preferred embodiment shouldnot be limited by any of the above-described exemplary embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

What is claimed is:
 1. A refrigerator-implemented method for optimizingplacement of food items in different compartments of a refrigerator,comprising: receiving, by the refrigerator, a request to store a firsttype of food item in the refrigerator; determining, by the refrigerator,using detection hardware, each type of food item already stored in atleast three compartments of the refrigerator; comparing, by therefrigerator, a characteristic of the first type of food item with asame type of characteristic for each type of food item already stored inthe at least three compartments of the refrigerator; selecting, by therefrigerator, a first of the compartments in which to store the firsttype of food item based at least in part on the comparison, wherein thefirst compartment has an ambient storage temperature which is closest toa predefined ideal storage temperature associated with the first type offood item; outputting, by the refrigerator, using an output device, arecommendation to store the first type of food item in the firstcompartment; and adjusting, by the refrigerator, an ambient storagetemperature in the first compartment to substantially match thepredefined ideal storage temperature associated with the first type offood item in response to determining that the first type of food itemhas been placed in the recommended first compartment, wherein the firstcompartment is directly adjacent a second one of the compartments, thesecond one of the compartments having an ambient storage temperaturewhich is closest to the adjusted ambient storage temperature of thefirst compartment.
 2. The refrigerator-implemented method of claim 1,wherein the detection hardware is selected from the group consisting of:a digital camera, a barcode scanner, and a wireless tag reader.
 3. Therefrigerator-implemented method of claim 2, wherein determining, usingdetection hardware, each type of food item already stored in one or moreof the compartments of the refrigerator includes using the digitalcamera, and image recognition software in combination with an input fromthe digital camera.
 4. The refrigerator-implemented method of claim 1,wherein the first compartment has an ambient storage temperature whichis closest to the predefined ideal storage temperature associated withthe first type of food item.
 5. The refrigerator-implemented method ofclaim 1, wherein each of the compartments are individually controllableby the refrigerator and configured to maintain different respectiveambient storage temperatures based on the types of food items therein.6. The refrigerator-implemented method of claim 1, wherein the ambientstorage temperatures of at least two of the at least three compartmentsare within a range of 30 and 65 degrees Fahrenheit.
 7. Therefrigerator-implemented method of claim 1, wherein the characteristicof the first type of food item is a chemical characteristic of the firsttype of food item and/or the predefined ideal storage temperature of thefirst type of food item.
 8. The refrigerator-implemented method of claim1, wherein selecting the first of the compartments in which to store thefirst type of food item includes: identifying the second compartment ashaving an ambient storage temperature which is second closest to thepredefined ideal storage temperature associated with the first type offood item; and recommending that the food item be placed in the firstcompartment directly adjacent the second compartment such that atemperature gradient across a boundary between the first and secondcompartments is minimized.
 9. A computer program product for optimizingplacement of food items in different compartments of a refrigerator, thecomputer program product comprising a computer readable storage mediumhaving program instructions embodied therewith, wherein the computerreadable storage medium is not a transitory signal, the programinstructions readable and/or executable by a processor to cause theprocessor to perform a method comprising: determining, by the processor,an ambient storage temperature in each of at least three of thedifferent compartments of the refrigerator; evaluating, by theprocessor, whether the compartments are positioned relative to eachother such that a temperature gradient across a boundary of thecompartments between each pair of directly adjacent compartments isminimized, wherein the at least three compartments are thermallyinsulated to maintain different unique ambient storage temperaturestherein, wherein each of the at least three compartments is individuallycontrollable and configured to maintain different respective ambientstorage temperatures based on types of food items therein; determining,by the processor, an order in which to rearrange the compartments inresponse to determining that the compartments are not positionedrelative to each other such that a temperature gradient across theboundary of the compartments between each of the pairs of directlyadjacent compartments is minimized; and outputting, by the processor andusing an output device, the determined order in which to rearrange thecompartments.
 10. The computer program product of claim 9, wherein eachof the at least three different compartments maintains a unique ambienttemperature, wherein each of the unique ambient temperature within arange of 30 and 65 degrees Fahrenheit.
 11. The computer program productof claim 9, the program instructions readable and/or executable by theprocessor to cause the processor to perform the method comprising:adjusting, by the processor, an ambient storage temperature in each ofthe compartments to substantially match a predefined ideal storagetemperature associated with one or more types of food items storedtherein in response to determining that the compartments have beenrearranged into the determined order.
 12. The computer program productof claim 9, the program instructions readable and/or executable by theprocessor to cause the processor to perform the method comprising:receiving, by the processor, a request to store a first type of fooditem in the refrigerator; comparing, by the processor, a characteristicof the first type of food item with the ambient storage temperature ineach of the different compartments of the refrigerator; selecting, bythe processor, a first of the compartments in which to store the firsttype of food item based at least in part on the comparison; andoutputting, by the processor and using the output device, arecommendation to store the first type of food item in the firstcompartment.
 13. The computer program product of claim 12, wherein thefirst compartment has an ambient storage temperature which is closest toa predefined ideal storage temperature associated with the first type offood item.
 14. A refrigerator, comprising: sensors for determining typesof food items in each of a plurality of compartments in therefrigerator; a controller in communication with the sensors, thecontroller being configured to: receive a request to store a first typeof food item in the refrigerator; determine, using detection hardware,each type of food item already stored in at least three of thecompartments of the refrigerator, wherein the at least threecompartments are thermally insulated to maintain different uniqueambient storage temperatures therein; compare a characteristic of thefirst type of food item with a same type of characteristic for each typeof food item already stored in the one or more of the compartments ofthe refrigerator; and select a first of the compartments in which tostore the first type of food item based at least in part on thecomparison, wherein the first compartment is directly adjacent a secondone of the compartments, the second one of the compartments having anambient storage temperature which is second closest to a predefinedideal storage temperature associated with the first type of food item;and an output device for outputting a recommendation to store the firsttype of food item in the first compartment.
 15. The refrigerator ofclaim 14, wherein determining, using detection hardware, each type offood item already stored in one or more of the compartments of therefrigerator includes using a digital camera, and image recognitionsoftware in combination with an input from the digital camera.
 16. Therefrigerator of claim 14, wherein the first compartment has an ambientstorage temperature which is closest to the predefined ideal storagetemperature associated with the first type of food item.
 17. Therefrigerator of claim 14, wherein each of the compartments areindividually controllable and configured to maintain differentrespective ambient storage temperatures based on the types of food itemstherein.
 18. The refrigerator of claim 14, the controller beingconfigured to: adjust an ambient storage temperature in the firstcompartment to substantially match the predefined ideal storagetemperature associated with the first type of food item in response todetermining that the first type of food item has been placed in therecommended first compartment.
 19. The refrigerator of claim 14, thecontroller being configured to: adjust an ambient storage temperature inthe first compartment to a value which is an average between thepredefined ideal storage temperature associated with the first type offood item and a current ambient storage temperature in the firstcompartment in response to determining that the first type of food itemhas been placed in the recommended first compartment.
 20. Therefrigerator of claim 14, wherein selecting the first of thecompartments in which to store the first type of food item includes:identifying the first compartment as having an ambient storagetemperature which is closest to the predefined ideal storage temperatureassociated with the first type of food item; and identifying the secondcompartment as being directly adjacent the first compartment and ashaving the ambient storage temperature which is second closest to thepredefined ideal storage temperature associated with the first type offood item.